// 这里的文件引入是在uView里面的，官方文档：https://www.uviewui.com/
// 很多方法与uView的使用一致，详见：https://www.uviewui.com/js/intro.html



// post类型对象参数转为get类型url参数
import queryParams from './function/queryParams.js'
// 
import http from './request/index.js'
// 路由封装
import router from './router/index.js'
// 时间格式化
import timeFormat from './function/timeFormat.js'
// 时间戳格式化,返回多久之前
import timeFrom from './function/timeFrom.js'
import getDateTime from './function/todayTime.js'
// 颜色渐变相关,colorGradient-颜色渐变,hexToRgb-十六进制颜色转rgb颜色,rgbToHex-rgb转十六进制
import colorGradient from './function/colorGradient.js'
// 生成全局唯一guid字符串
import guid from './function/guid.js'
// 主题相关颜色,info|success|warning|primary|default|error,此颜色已在uview.scss中定义,但是为js中也能使用,故也定义一份
import color from './function/color.js'
// 根据type获取图标名称
import type2icon from './function/type2icon.js'
// 打乱数组的顺序
import randomArray from './function/randomArray.js'
// 对象和数组的深度克隆
import deepClone from './function/deepClone.js'
// 对象深度拷贝
import deepMerge from './function/deepMerge.js'
// 添加单位
import addUnit from './function/addUnit.js'

// 规则检验
import test from './function/test.js'
// 随机数
import random from './function/random.js'
// 去除空格
import trim from './function/trim.js'
// toast提示，对uni.showToast的封装
import toast from './function/toast.js'
// 获取父组件参数
import getParent from './function/getParent.js'
// 获取整个父组件
import $parent from './function/$parent.js'
// 获取sys()和os()工具方法
// 获取设备信息，挂载到$u的sys()(system的缩写)属性中，
// 同时把安卓和ios平台的名称"ios"和"android"挂到$u.os()中，方便取用
import {
  sys,
  os
} from './function/sys.js'
// 防抖方法
import debounce from './function/debounce.js'
// 节流方法
import throttle from './function/throttle.js'


// 配置信息
// import config from './config/config.js'
// 各个需要fixed的地方的z-index配置文件
// import zIndex from './config/zIndex.js'

// const routeIntercept = (params, resolve) => {
//   if (noIntercept.includes(params.url)) {
//     // 无需校验登陆状态
//     resolve(true);
//   } else {
//     // 需要校验
//     const token = getStorageItem(Token) || "";
//     if (token) {
//       resolve(true);
//     } else {
//       resolve(false);
//       showModal({
//         content: "当前账号未登录，请登陆后进行操作",
//       }).then((res) => {
//         if (!res) {} else {
//           uni.$u.route(routes.login);
//         }
//       });
//     }
//   }
// };

const $u = {
  queryParams: queryParams,
  router: router,
  getDateTime,
  timeFormat: timeFormat,
  date: timeFormat, // 另名date
  timeFrom,
  colorGradient: colorGradient.colorGradient,
  colorToRgba: colorGradient.colorToRgba,
  guid,
  color,
  sys,
  os,
  type2icon,
  randomArray,
  // wranning,
  get: http.get,
  post: http.post,
  put: http.put,
  "delete": http.delete,
  hexToRgb: colorGradient.hexToRgb,
  rgbToHex: colorGradient.rgbToHex,
  test,
  random,
  deepClone,
  deepMerge,
  getParent,
  $parent,
  addUnit,
  trim,
  type: ['primary', 'success', 'error', 'warning', 'info'],
  toast,
  // config, // uView配置信息相关，比如版本号
  // zIndex,
  debounce,
  throttle,
  // routeIntercept, // 路由拦截
}

// $u挂载到uni对象上
wx.$u = $u